The prior art has taught that, in relatively simple systems, a peripheral device, such as a teletype, could be controlled by direct connection of the peripheral device to the central processor unit of a computer system. In such cases, the central processor unit must have sufficient control logic and sufficient storage capability for firmware instructions to be capable of handling data to be transferred from or to the peripheral device. Typically, such a data transfer is made by the central processor unit between the main computer memory and the peripheral or an associated peripheral processor. One disadvantage of such an input/output system is that the main line programming operations of the central processor unit must be interrupted in order to effect a data transfer between the peripheral device and the main memory. Another disadvantage is that a portion of the control storage capability of the central processor unit must be dedicated to storing instructions which enable the central processor unit to select one peripheral device from among the plurality of peripheral devices connected directly to the central processor unit for the input or output of data. Another disadvantage of this type of input/output system is that the size of the central processor unit physically restricts the number of peripheral devices which may be connected directly to the central processor unit in a practical manner.
The prior art taught that the physical restriction as to the number of peripheral devices connected to the central processor unit and the proximity of these peripheral devices to the central processor in such simple systems may be eliminated by the use of an input/output bus which connects to remote input/output controllers at various points along the input/output bus. Each input/output controller, acting as a multiplexer, selects from among a plurality of peripheral devices connected directly to the remote input/output controller. Such a remote input/output controller eliminates the necessity of the central processor unit performing the selection or priority function.
A further improvement in this concept has been made by providing remote peripheral device controllers having firmware control logic which manage the input or output of data to the peripheral controllers independently of the central processor unit. With the advent of the input/output bus and the use of remote peripheral device controllers having a plurality of peripheral devices connected directly to each controller, the prior art abandoned the concept of connecting peripheral devices directly to a central processor unit. This eliminated the need for the central processor unit firmware to store instructions necessary to perform the selection function. It also eliminated the need for direct peripheral control capability within the central processor unit. Thus, the central processor unit firmware storage stored only those instructions which were necessary to control the input or output of data from a peripheral device connected to a hardware input/output controller.
The hardware remote input/output controller devices which permit the control of the input/output operations by the central processor unit are fully described in U.S. Patent Application Ser. No. 647,762, Filed Jan. 9, 1976, by Phillip A. Kaufman and Jerry R. Washburn, issued July 11, 1978 as U.S. Pat. No. 4,100,601, entitled "Multiplexer For A Distributed Input/Output Controller", and assigned to the assignee on the present invention. The disclosure of that application is incorporated herein by reference. The remote input/output controllers having direct memory access and firmware capability for managing the input/output operations from peripheral devices independently of the central processor unit are fully described in U.S. patent application Ser. No. 35,263, filed May 1, 1979, by Phillip Kaufman, Jerry R. Washburn, and Paul A. Stapinski entitled "Distributed Input/Output Controller System", and assigned to the assignee of this application. The disclosure of that application is incorporated herein by reference.
The prior art has taught the use of a software system stored in memory and firmware instructions stored within the central processor unit for handling the input/output operations performed by remote controllers. The prior art, however, did not recognize that a combination of the distributed input/output system with a direct connection of a plurality of peripheral devices to the central processor unit was advantageous. Furthermore, the prior art did not recognize that the same software stored in memory to manage the distributed input/output system could be used to manage the input/output operations of the peripheral devices connected directly to the central processor unit. Thus, the prior art taught that the use of a distributed input/output system comprising the remote controllers and the input/output bus eliminated any desirability of a direct connection of peripheral devices to the central processor unit.